#!/usr/bin/env node

/**
 * 发布版构建脚本
 * 1. 先构建所有模块
 * 2. 再构建平台（全量集成版）
 */

import { execSync } from 'child_process';
import path from 'path';
import { fileURLToPath } from 'url';

const __dirname = path.dirname(fileURLToPath(import.meta.url));
const rootDir = path.resolve(__dirname, '..');

console.log('🚀 开始发布版构建...\n');

// 模块列表
const modules = [
  'module-task',
  'module-user', 
  'module-test',
  'module-create-task',
  'module-login',
  'module-device',
  'module-calibration'
];

// 构建所有模块
console.log('📦 正在构建所有模块...\n');
for (const moduleName of modules) {
  console.log(`  构建 ${moduleName}...`);
  try {
    execSync(`npm run build`, {
      cwd: path.join(rootDir, 'modules', moduleName),
      stdio: 'inherit'
    });
    console.log(`  ✅ ${moduleName} 构建完成\n`);
  } catch (error) {
    console.error(`  ❌ ${moduleName} 构建失败:`, error.message);
    process.exit(1);
  }
}

// 构建平台（全量集成版）
console.log('🔨 正在构建平台（全量集成版）...\n');
try {
  execSync('npm run build:release', {
    cwd: path.join(rootDir, 'mctp'),
    stdio: 'inherit'
  });
  console.log('\n✅ 发布版构建完成！');
  console.log('\n📂 输出目录: mctp/dist/');
} catch (error) {
  console.error('❌ 平台构建失败:', error.message);
  process.exit(1);
}